package com.zzx.dao;

import com.zzx.entity.Goods;

import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface IGoodsDao {
	// 增加一个产品
	int insertGoodsToGoods(Goods goods);

	// 删除一个产品，参数为产品的Id
	int deleteGoodsByPid(@Param("pid") Integer pid);

	// 修改一个商品
	int updateGoodsToGoods(Goods goods);

	// 根据商品的pid精确查询一个产品信息
	Goods selectGoodByPid(@Param("pid") Integer pid);

	// 主要是针对字符串字段的筛选
	List<Goods> selectGoodsByParam(Goods goods);

	// 根据商品的status查询所有的商品并分页显示 #{map.startIndex},#{map.pageSize}
	List<Goods> selectGoodsByStatus(@Param("status") Integer status, @Param("map") Map<String, Integer> map);

	//查所有商品的信息
	List<Goods> selectAllGoods();
	
	//得到所有商品的总数
	int selectGoodsCount();
	
	@MapKey("kid")
	//获得项为 商品名：数量 键值对构成的map kids可以置为空的 参数为商品种类kid
	Map<String, Integer> selectGoodsCountsByKid(@Param("list") List<Object> kids);
}
